
import { userlist, usercount } from '../../../request/api'
const state = {
    userList: [],
    // 总条数
    total: 0,
    // 一页几个
    pageSize: 3,
    // 初始页数
    page: 1
}

const getters = {
    getUser(state) {
        return state.userList
    },
    getCount(state) {
        return state.total
    },
    getpageSize(state) {
        return state.pageSize
    },
}

const mutations = {
    // 列表
    CHANGE(state, payload) {
        state.userList = payload
    },
    // 条数
    CHANGECOUNT(state, payload) {
        state.total = payload
    }
}

const actions = {
    // 获取管理员列表
    GetUserInfo(context) {
        userlist({ size: context.state.pageSize, page: context.state.page })
            .then(res => {
                /*
                删除时会出现非第一页清除最后一个数据时请求的数据还是当前页面的bug
                应该是删除完成后 页码page -1
                */
                let list = res.list ? res.list : []
                if (context.state.page != 1 && list.length == 0) {
                    context.dispatch('changePage', context.state.page - 1)
                }
                context.commit("CHANGE", list)
            })
    },
    // 获取管理员总条数
    GetUserCount({ commit }) {
        usercount()
            .then(res => {
                commit('CHANGECOUNT', res.list[0].total)
            })
    },
    // 重新调用管理员列表
    changePage(context, payload) {
        // 设置页码
        context.state.page = payload
        // 重新调用管理员列表接口
        context.dispatch('GetUserInfo')
    }
}

export default {
    state, getters, mutations, actions,
    namespaced: true
}